package com.cskaoyan.javase.basic._0datatype;
/**
 * 与几乎所有的程序设计语言一样，Java也是使用变量来存储数据。
 * 这里需要掌握两个重要的概念：
 *      1.变量：程序运行过程中，值可能会发生改变的量
 *          （注重变化的可能性而不是确定性）。
 *      2.常量：程序运行过程中，值一定不会发生改变的量。
 *
 * 数据类型
 * 数据被存储后，是需要被使用的（从数据的使用角度理解数据类型）
 * 它的定义是:
 *      数据类型，表示的是一组数据的集合，和基于该数据集合的一组合法操作。
 *      也就是说，数据类型不仅表示一组数据的集合，更重要的是它还限制了这组数据能够执行的操作。
 *
 * 数据类型int类型,它表示整数,它的取值是固定范围内的整数.
 *      除此之外,int类型还限制了这组整数能够执行的操作
 *      比如可以做"+ - * /",但是不能做求长度的概念
 *
 * 数据类型String类型,它表示字符串,所有的字符串都是String类型
 *      除此之外,String类型还限制了这些字符串能够执行的操作
 *      可以做"+"拼接字符串的操作,但是不能做"- * /"
 *      字符串可以做求长度运算
 *
 * 总结: 数据类型 = 数据 + 操作
 *
 * 数据类型的分类: 从大的方向上来说,Java中的数据类型分成两大类:
 *      1.基本数据类型,四类八种
 *          整型: byte,short,int,long
 *          浮点型: float,double
 *          布尔型: boolean
 *          字符型: char
 *              Java中的char类型存储字符，实际是存储了一个16位的无符号正整数值。
 *              注：十六位无符号数，16位全部用来存储数值，只能表示整数，取值范围是[0,65535]。
 *          总结一下,实际上Java中的基本数据类型,又可以分为两大类:
 *              a.数值类型,包括整型,浮点型,字符型 7种
 *              b.非数值类型,只有布尔类型
 *
 *
 *      2.引用数据类型
 *
 *
 * @since 11:43
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
        // num具有改变的可能性是变量
        int num = 100;
        // "hello world!"永远不变是常量
        System.out.println("hello world!");
        num = 200;

        // 'a'的编码值是97
        char c = 'a';
        System.out.println(c);
        // 编码值参与数值运算
        System.out.println(c + 100);

        // 浮点数的有效位数
        float f1 = 0.1F;
        float f2 = 0.1000000000000001F;
        System.out.println(f1 == f2);
    }
}
